package com.code.exam.service;

import com.code.exam.common.result.PageResult;
import com.code.exam.dto.QuestionCreateDTO;
import com.code.exam.dto.QuestionDTO;
import com.code.exam.dto.QuestionPageQueryDTO;
import com.code.exam.dto.QuestionUpdateDTO;
import com.code.exam.entity.Question;
import com.code.exam.vo.QPageResultVO;
import com.code.exam.vo.QuestionVO;

public interface QuestionService {

    /**
     * 添加试题
     * @param questionCreateDTO
     * @return
     */
    Question addQuestion(QuestionCreateDTO questionCreateDTO);


    /**
     * 更新试题
     * @param questionId
     * @param questionUpdateDTO
     * @return
     */
    Question update(Long questionId, QuestionUpdateDTO questionUpdateDTO);

    /**
     * 删除试题
     * @param id
     */
    void delete(Long id);

    /**
     * 查询试题列表
     * @param questionPageQueryDTO
     * @return
     */
    PageResult<QPageResultVO> pageQuery(QuestionPageQueryDTO questionPageQueryDTO);

    /**
     * 获取单个试题详情
     * @param id
     * @return
     */
    Question getDetail(Long id);
}
